해석학 게임 만들기 프로젝트

프로젝트 소개

Posted by ChoiCube84 on July 26, 2023 · 5 mins read

해석학 게임 만들기 프로젝트

어제로 B-Tree 프로젝트를 마무리하고, 오늘부터는 새로운 프로젝트를 시작할 것이다. 이 프로젝트의 이름은 “해석학 게임 만들기” 프로젝트로 말 그대로 수학의 해석학을 테마로 한 게임을 만드는 것이다.

게임을 하는 모습
게임을 하는 모습

프로젝트를 시작하게 된 동기

이 프로젝트를 시작하게 된 동기는 단순하다. 이번 2023년 1학기에 들었던 해석학1 학점이 망했기 때문이다. 좀 많이 망해서 정확한 그레이드를 말하기는 부끄럽지만, 내게 모욕감을 준 해석학에게 복수를 하고 싶기도 하고, 당장 2학기에 해석학2 수업을 들을 예정이기 때문에 복습을 하지 않으면 안된다는 느낌으로 이 프로젝트를 시작하게 되었다.

떡락하는 평점
떡락하는 평점

프로젝트 설명

프로젝트의 이름에서 알 수 있듯이, 이 프로젝트는 해석학을 주제로 한 게임을 만드는 것이다. 주로, Walter Rudin1이 쓴 Principles of Mathematical Analysis2(이하 PMA)의 내용을 기반으로 진행할 것이며, 이 게임을 플레이하는 사람들로 하여금 해석학의 개념을 이해하고 응용할 수 있으며, 오묘한 법칙 속에 숨어있는 희열을 느끼게 하는 것이 이 게임의 목표이다.

Principles of Mathematical Analysis
만악의 근원이 된 Principles of Mathematical Analysis

프로젝트 계획

프로젝트를 진행할 순서는 다음과 같다.

  1. PMA 완전히 이해하기

    이 프로젝트의 가장 필수적인 조건이다. 애초에 해석학을 제대로 이해하지도 못했는데 게임을 만들기란 불가능하다. 아무 연습문제나 봐도 척척 풀어낼 수 있을정도로 해석학을 이해하는 것이 이 프로젝트의 시작이 될 것이다.

    해석학을 공부하는 내 모습
    해석학을 공부하는 내 모습
  2. 게임 아이디어 구체화하기

    해석학을 게임으로 만드는 것은 좋지만, 고민해야할 사항이 상당히 많다. 우선 해석학을 게임을 만든다고는 했는데, 그 게임의 목표라던가 설정이라던가 고민해야할 사항이 많다. 지금은 퍼즐게임 비스무리 한걸 만들겠다고 생각은 하고 있는데, 아이디어가 구체화되는 과정에서 어떻게 될지는 잘 모르겠다. 어쨌든 해석학을 완전히 이해했다면, 이 단계에서 게임 아이디어를 구체화 하면 된다.

    기가막힌 아이디어가 떠오른 내 모습
    기가막힌 아이디어가 떠오른 내 모습
  3. ‘해석학 시스템’ 구현하기

    게임 아이디어 구체화가 완료되었다면 다음은 게임의 기본 메커니즘을 만들어야 한다. 어떤 게임이 되었던 간에, 플레이어가 자유롭게 여러 가지 정의와 정리 등을 활용하여 논리를 전개하게 하려면, ‘해석학 시스템’을 구현할 필요가 있다.

    아마 이 과정에서 내가 다니는 대학교의 컴공 수업 지식이 좀 필요하게 될 것 같다. 문제는, 그 과목들이 3, 4학년 과목들이라는 사실이고, 아직 2학년 밖에 안됐는데다가, 군대도 다녀와야 하고, 그 수업들을 듣는다고 해서 내용을 곧이곧대로 이 게임을 만드는 데에 적용할 수 있을지 어떨지는 미지수이다. 그러나 지금은 이러한 걱정은 잠깐 접어두도록 하겠다.

    필요할 것 같은 지식을 간단하게 설명하자면, ‘수리논리학’, ‘자동증명정리’등의 내용과 관련된 많은 지식들이 필요할 것이다. 이러한 내용들을 공부하고 적용하는 것도 이 과정에 포함된다.

    복잡한 게임의 메커니즘
    복잡한 게임의 메커니즘
  4. 게임 완성하기

    기본적인 메커니즘을 완성했다면, 이제 살을 붙여 게임을 만들어야 한다. 아무리 멋진 시스템을 만들어도 그냥 그대로 깃헙에 던져주면 딱히 하고싶어하는 사람은 없을 것이다. 화려하고 번지르르한 껍데기는 튼튼하고 알찬 내용물 만큼이나 중요하다고 생각한다.

    이 프로젝트의 궁극적인 목적은 해석학을 처음 접하거나 이미 잘 아는 사람들이 ‘즐거움’을 느낄 수 있도록 하는 것이다. 그러나 내가 생각하기에도 해석학이라는 과목은 즐거움에서 가장 먼 과목같은 느낌이다. 게임이 완성되어봐야 알겠지만, 실제로 게임을 하면서 플레이어들은, 특히 해석학이 처음인 사람들에게는 엄청난 고통을 받게되리라 생각한다. 그런 플레이어들에게 동기를 불어넣고, 하고싶게끔 하는 마음이 들게하려면 게임이 예쁘게 잘 만들어져야 할 것이다.

    게임을 완성한 내 모습
    게임을 완성한 내 모습

마무리

솔직히 내가 프로젝트 계획을 짜면서도 대체 이게 말이 되기나 하는건가 하는 생각이 들었다. 각 프로젝트의 단계의 내용을 적으면서도 대체 무슨 짓을 하려는건가 싶었다. 내가 생각하기에도 겁나게 어려운 프로젝트가 될 것 같다. 그치만 그러기에 프로젝트를 하는 의미가 있는 것이라고 생각한다.

몇년이 걸리더라도, 성공시키기만 한다면, 아무한테나 말해도 될정도는 되지 않겠는가? 학기중에는 어려워보여서 손도 잘 못대던 B-Tree도 한 달정도 걸리긴 했지만 결국 해내지 않았는가. 느리더라도 착실히 진행하다보면 결실을 맺으리라 믿을 뿐이다.

오늘부터 바로 해석학 공부에 돌입할 것이다. 프로젝트의 진행과정에서 개발 뿐만 아니라 공부도 많이 포함되어 있으니, ‘프로젝트 일지’가 내일부터 매일 작성될 것이다. B-Tree 프로젝트 때도 그랬던 것처럼, 매일 착실하고 꾸준히 꾸역꾸역하면 된다.

프로젝트 소개는 여기서 마치도록 하겠다. 자고 일어나서 아침부터 해석학 공부를 시작하고 밤에 프로젝트 일지를 작성해야겠다.


1: https://en.wikipedia.org/wiki/Walter_Rudin
2: https://en.wikipedia.org/wiki/Principles_of_Mathematical_Analysis